package syntax;

import polyglot.ast.*;
importsymbol syntax.Boo;

public syntaxclass Foo {
	
	@grammar using A, Boo {
	  Foo -> nonTerminal1     x = nonTerminal1     "teste"
	         y = (ABC | DEF)
	       | 
	         nonTerminal2 [GHI | KLM] {NOP} {:  :};
	  nonTerminal1 -> "testando tudo" z = {[op | y] };
	}
	
	syntaxclass Foo1 {
		@numberOfPasses = 2;
		
		@grammar extends A {
			Foo1 ->  {B | C "testando" x = D} | ;
		}
		
		syntaxclass Foo2 {
			@grammar overrides A;
		}
	}
	
	void desugar() {
		int x;
	}
	
}